package com.jiangyao.model.dto.backend;

import com.jiangyao.model.dto.BaseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 课程DTO
 *
 * @author: yangyongchuan
 * @create: 2020年08月19日 23:17
 */
@ApiModel("课程DTO")
@Data
public class SubjectDTO implements BaseDTO {

	private static final long serialVersionUID = -5434791599464864740L;

	/**
	 * 课程ID
	 */
	@ApiModelProperty("课程ID")
	@NotNull(message = "课程ID不能为空", groups = {Edit.class, Detail.class})
	private Integer subjectId;

	/**
	 * 课程ID集合
	 */
	@ApiModelProperty("课程ID集合")
	private List<Integer> subjectIdList;

	/**
	 * 类型  1视频在线课程
	 */
	@ApiModelProperty("类型  1视频在线课程")
	@NotNull(message = "类型不能为空", groups = {Add.class})
	private Integer subjectType;

	/**
	 * 分类
	 */
	@ApiModelProperty("分类")
	@NotNull(message = "分类不能为空", groups = {Add.class, Edit.class})
	private Integer categoryId;

	/**
	 * 课程名称
	 */
	@ApiModelProperty("课程名称")
	@NotNull(message = "课程名称不能为空", groups = {Add.class, Edit.class})
	@NotEmpty(message = "课程名称不能为空", groups = {Add.class, Edit.class})
	private String subjectName;

	/**
	 * 讲师ID
	 */
	@ApiModelProperty("讲师ID")
	@NotNull(message = "讲师不能为空", groups = {Add.class, Edit.class})
	private Integer lecturerAdmin;

	/**
	 * 课程简介
	 */
	@ApiModelProperty("课程简介")
	private String subjectDesc;

	/**
	 * 课程详细介绍
	 */
	@ApiModelProperty("课程详细介绍")
	private String subjectDetail;

	/**
	 * 封面
	 */
	@ApiModelProperty("封面")
	private String cover;

	/**
	 * 状态 1启用 0 关闭
	 */
	@ApiModelProperty("状态 1启用 0 关闭")
	private Integer status;

	/**
	 * 是否是公开课 0-否 1-是
	 */
	@ApiModelProperty("是否是公开课 0-否 1-是")
	private Integer isPublic;

	/**
	 * 是否精选 0-否 1-是
	 */
	@ApiModelProperty("是否精选 0-否 1-是")
	private Integer isChoiceness;
}
